#pragma once
#include "geometry.h"
#include "meshType.h"
#include <map>
#include <string>
#include <vector>

//using namespace MeshUtils;
using namespace std;

class Color
{
	public:
		unsigned char r;
		unsigned char g;
		unsigned char b;
		Color(unsigned int R, unsigned int G, unsigned int B) : r(R), g(G), b(B) {};
};

class MeshManager
{

	map<std::string, MeshUtils::Mesh*> meshes;
	map<std::string, vector<Color>* > pointsColor;

	public:
		void addMesh(MeshUtils::Mesh& msh, std::string mshName);
		inline MeshUtils::Mesh& getMesh(string name) {return *(meshes[name]);};
		inline MeshUtils::Mesh* getMeshPtr(string name) {cout << "find mesh pointer : " << (meshes[name]) << endl;return (meshes[name]);};
		inline std::vector<Color>& getPointsColor(string name) {return *(pointsColor[name]);};
};


